package com.itheima.jdbc.pre;

import java.sql.*;

/**
 * @author ：石破天
 * @date ：Created in 2022年09月05日
 * @description ：
 * @version: 1.0
 */
public class LoginTest {

    public static void main(String[] args) throws Exception{
        String url = "jdbc:mysql:///test?useSSL=false&useUnicode=true&characterEncoding=utf-8";
        String username="root";
        String password="root";
        Connection conn = DriverManager.getConnection(url, username, password);

        String name = "礼堂顶针";
        String psw = "'or 'a'='a";

        // 问号 代替 参数的位置
        String sql = "select * from user where username= ? and password=?";

        // 获取语句执行对象-- 预处理对象  提前把sql语句要执行的模板 设定好
        PreparedStatement ps = conn.prepareStatement(sql);//获取语句处理对象的同时
                                                      // 告知了这个对象 你即将执行什么 样的sql模板

        // 执行sql之前 指定一下 参数的值
        //  第一个?代替的参数 是 name
        // name的值设置到 第一个?上
        ps.setString(1,name);

        // 第二个?代替的参数 是 psw
        ps.setString(2,psw);

        // 执行sql
        ResultSet rs = ps.executeQuery();

        if(rs.next()){//有数据 说明查到了
            System.out.println("登录成功");
        }else{
            System.out.println("登录失败");
        }

        //释放资源
        rs.close();
        ps.close();
        conn.close();

    }
}
